// pages/biz/couponsServ/couponsServ.js
import Serv from './couponsServ';
var regeneratorRuntime = require("../../../lib/js/runtime-module");
Page({

  /**
   * 页面的初始数据
   */
  data: {
    couponsList:{},
    pageType:"myCoupon",//上一个页面的路由是首页还是个人中心

  },
  // 去优惠券详情
  goCouponDetail: function (e) {
    let id = e.currentTarget.dataset.id
    wx.navigateTo({ url:'/pages/biz/my/myCoupons/couponsDetail/couponsDetail?id='+id})
  },
  // 跳转优惠券转赠页面
  goCouponExamples: function () {
    wx.navigateTo({ url:'/pages/biz/my/myCoupons/couponsExamples/couponsExamples'})
  },
  // 获取优惠券列表,pageType 上一个路由的类型，首页和个人中心所调用接口不一样  0 首页  1 个人中心
  async getCouponsList(params, type){
    let couponsList = this.data.couponsList // 获取原本保存的数据
    let result = await Serv.getCouponsList(params, this.data.pageType);
    let list = this.data.pageType == 'index' ? result.data : result.rows;
    list.total = result.total
    list.pageNo =result.pageNo
    if (type == 0) {
      this.setData({ couponsList: list.filter(item => item.scene + '' != '2')})
    } else {
      let rows = result.rows // 数据列表
      let oldrows = couponsList // 原本的数据列表
      let newList = oldrows.concat(rows) // 合并
      couponsList = newList.filter(item=>item.scene+''!='2') // 新列表合并后赋值

      this.setData({couponsList: couponsList})
      // console.log(this.data.couponsList)
    }
  },
  // （领取）子组件回调
  async receiveCoupon(e){
    let params = {
      pageNo: 1,
      pageSize: 10
    }
    let result = await Serv.receiveCoupon({ couponsConfigId: e.detail.id });
    if (result.success) {
      this.getCouponsList(params, 0);
      wx.showToast({ title: "领取成功"});
    }else{
      wx.showToast({ title: result.msg != 'null' ? result.msg : '领取失败', icon: "none" });
    }
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {
    let params = {
      // accountId:'123',
      pageNo: 1,
      pageSize: 10
    }

    let pages = getCurrentPages()
    var prevPage = pages[pages.length - 2].route;  //上一个页面
    console.log(prevPage,'prevPage')
    //如果是首页过来的
    if (prevPage=='subPackages/pages/chat_detail/chat_detail'||prevPage == 'pages/index/index' || prevPage == 'pages/buildingDetail/buildingDetail' || 'pages/index/index') {
      this.setData({ pageType: 'index' });//首页
      wx.setNavigationBarTitle({title:"优惠券"});
    } else {
      this.setData({ pageType: 'myCoupon' });//个人中心
      wx.setNavigationBarTitle({ title: "我的优惠券" });
    }
    this.getCouponsList(params, 0);
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {
    let total = parseInt(this.data.couponsList.total) // 总页数
    let totalPage = 1 // 总页数
    if (total%10 === 0) {
      totalPage = parseInt(total/10)
    } else {
      totalPage = parseInt(total/10) + 1
    }
    let pageNo = parseInt(this.data.couponsList.pageNo) // 当前页数
    if (pageNo < totalPage && (pageNo + 1) <= totalPage) { // 如果当前条数小于总条数
      let params = {
        pageNo: pageNo + 1,
        pageSize: 10
      }
      this.getCouponsList(params, 1)
    }
  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})